package homework.day02;

import java.io.*;
import java.util.Arrays;

/**
 * 将当前目录下的所有文件都复制一份，复制的文件命名为:原
 * 文件名_cp.后缀
 * 比如原文件为:test.dat
 * 复制后的文件为:test_cp.dat
 * 
 * 
 * @author Xiloer
 *
 */
public class Test03 {
	public static void main(String[] args) throws IOException {
		long start;
		long end;
		File dir = new File("./123");//该123相对路径下
		File[] files = dir.listFiles();
		int count = 0;//记下复制的文件数量
		for(File sub:files){//遍历每个文件
			start = 0;
			end = 0;
			System.out.println(sub.getName());//获取文件的名字
			String name = new String(sub.getName());
			String[] split = name.split("\\.");//遇见.则拆分
			String str = split[0]+"__cp.jpeg";//进行拆分+__cp.jpeg
			FileInputStream fis = new FileInputStream("./123/"+sub.getName());
			FileOutputStream fos = new FileOutputStream(str);
			int d;
			byte[] data = new byte[1024*10];
			start = System.currentTimeMillis();
			while((d = fis.read(data))!=-1){
				fos.write(data,0,d);//复制
			}
			end = System.currentTimeMillis();
			count++;
			System.out.println("复制完毕,第"+count+"个"+(end-start)+"ms");
			fos.close();
			fis.close();
		}
	}
}




/**
 * 思路:
 * 分为几部分考虑.
 * 第一个是要获取到当前目录中的所有文件(思考哪个API可以解决)
 * 第二个是获取到的每一个文件都要复制(复制用什么API)
 * 第三个是复制的文件名，如何重新组建xxx_cp.xxx的名字?
 *      这里要将原文件名拆开后想办法拼接_cp.
 */


